草庐IT

快速替代 respondsToSelector :

全部标签

c# - 在 64 位整数中查找最高和最低有效位集的快速方法

在StackOverflow上有很多关于这个的问题。很多。但是我找不到这样的答案:使用C#适用于64位整数(相对于32位)快于:privatestaticintObvious(ulongv){intr=0;while((v>>=1)!=0){r++;}returnr;}甚至intr=(int)(Math.Log(v,2));我在这里假设64位IntelCPU。一个有用的引用是BitHackspage另一个是fxtbook.pdf然而,虽然这些提供了解决问题的有用方向,但它们并没有给出现成的答案。我正在寻找一个可重复使用的函数,它可以执行类似于_BitScanForward64的操作和_

c# - Rhino 模拟 AAA 快速入门?

我一直在四处寻找有关使用AAA语法使用RhinoMocks3.5+的一些不错的信息。我发现很多博客混合了新旧事物,这似乎让弄清楚如何使用它变得更加困难。如果有像早期版本那样的RhinoMocksAAA备忘单就好了。是否需要了解旧版Rhino的所有知识才能实际使用新版?我敢肯定,如果我是专家,我会喜欢Rhino的所有功能,但现在我只是沉浸在信息中。任何指针或好的链接将不胜感激! 最佳答案 我写了一个RhinoMocksArrange/Act/Assert(AAA)SyntaxQuickReference.它包含从Ayende'sweb

c# - 解析 IIS 日志文件 - 是否有 LogParser 的替代方案

我需要解析IIS日志文件。是否有任何LogParser的替代品,一个用于查询日志文件的简单类?我只需要知道我在2个日期之间收到了多少请求。这是iis日志文件的示例:#Software:MicrosoftInternetInformationServices7.5#Version:1.0#Date:2014-08-2612:20:57#Fields:datetimes-sitenames-computernames-ipcs-methodcs-uri-stemcs-uri-querys-portcs-usernamec-ipcs-versioncs(User-Agent)cs(Cooki

c# - 由于过时的 CAS 政策,寻求替代 AppDomain.CreateDomain(string, evidence)

我正在学习Microsoft.NetFramework--ApplicationDevelopmentFoundationTrainingKit书第8章第2课:配置应用程序域ShowWinIni是我要执行的程序的程序集名称object[]hostEvidence={newZone(SecurityZone.MyComputer)};Evidencee=newEvidence(hostEvidence,null);//CreateanAppDomain.AppDomaind=AppDomain.CreateDomain("NewDomain",e);//Runtheassemblyd.E

c# - ReSharper 的快速修复命令的名称是什么

我想将Alt-Enter击键(用于灯泡建议)重新分配给另一个键,但我在选项->键盘列表中找不到它。所有ReSharper命令的名称中似乎都有ReSharper_。但我无法弄清楚他们用于快速修复的名称。 最佳答案 Resharper8似乎已将其重命名为Resharper_AltEnter。 关于c#-ReSharper的快速修复命令的名称是什么,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

c# - 是否有比在异步方法中调用 ConfigureAwait(false) 更具可读性的替代方法?

我目前正在编写大量async库代码,并且我知道在每次异步调用之后添加ConfigureAwait(false)的做法,以便避免将延续代码编码回原始(通常是UI)线程上下文。由于我不喜欢未标记的bool参数,因此我倾向于将其写为ConfigureAwait(continueOnCapturedContext:false)。我添加了一个扩展方法以使其更具可读性(并减少了输入):publicstaticclassTaskExtensions{publicstaticConfiguredTaskAwaitableWithoutCapturingContext(thisTasktask){ret

c# - 结构的快速序列化/反序列化

我有大量地理数据以仅包含结构的简单对象结构表示。我的所有字段都是值类型。publicstructChild{readonlyfloatX;readonlyfloatY;readonlyintmyField;}publicstructParent{readonlyintid;readonlyintfield1;readonlyintfield2;readonlyChild[]children;}数据被很好地分块到Parent[]-s的一小部分。每个数组包含几千个Parent实例。我有太多数据无法全部保存在内存中,因此我需要将这些block来回交换到磁盘。(一个文件将产生大约2-300KB

c# - 将 MemoryStream 的内容作为 ASCII 字符串获取的快速方法

我在MemoryStream中有一个JSON字符串。我正在使用以下代码将其作为ASCII字符串输出:MemoryStreammemstream=newMemoryStream();/*WriteaJSONstringtomemstreamhere*/byte[]jsonBytes=newbyte[memstream.Length];memstream.Read(jsonBytes,0,(int)memstream.Length);stringjsonString=Encoding.ASCII.GetString(jsonBytes);执行此操作的更短/最短方法是什么?

c# - C# 中条件编译的替代方案

除了在C#中使用条件编译代码之外,还有什么替代方法?我有一个包含大量基于#ifdef的代码的类。一段时间后我的代码变得不可读。寻找重构技术来提高代码的可读性和维护性,其中包含许多#ifdefs 最佳答案 一件事是使用ConditionalAttribute:[Conditional("DEBUG")]publicvoidFoo(){//Stuff}//ThiscallwillonlybecompiledintothecodeiftheDEBUGsymbolisdefinedFoo();它仍然是条件编译,但是基于属性而不是#ifdef

c# - 如何使用 .NET 快速获取目录中最旧的文件?

我有一个包含大约15-30千个文件的目录。我只需要拉最老的那个。换句话说,第一个创建的。除了将它们加载到集合中然后排序之外,是否有使用C#快速执行此操作的方法? 最佳答案 您必须将FileInfo对象加载到集合中并进行排序,但这是单行代码:FileSystemInfofileInfo=newDirectoryInfo(directoryPath).GetFileSystemInfos().OrderBy(fi=>fi.CreationTime).First();好的,两行,因为这是一个很长的语句。